@font-face {
	font-family: "Fontawesome";
	src: url('./font/fontawesome-webfont.eot');
	src: url('./font/fontawesome-webfont.ttf') format('truetype'),
		url('./font/fontawesome-webfont.eot') format('embedded-opentype'),
		url('./font/fontawesome-webfont.svg') format('svg'),
		url('./font/fontawesome-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

.icon {
	display: inline-block;
	font-family: "Fontawesome";
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	outline: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 14px;
}

body {
	min-width: 450px;
	margin: 0;
}

body, button, input, select {
	font-family: Calibri, Arial;
	outline: none;
}

input[invalid] {
	box-shadow: 0 0 0px 2px darkred;
}

.loginPanel {
	position: fixed;
	top: 50%;
	left: 50%;
	height: 210px;
	width: 250px;
	margin-top: -135px;
	margin-left: -135px;
	padding: 5px 10px;
	border-radius: 3px;
	color: white;
	font-weight: bold;
	background: #048B9A;
}

.loginLabel, .passwdLabel {
	font-size: 2em;
	text-align: center;
}

input.loginInput, input.passwdInput {
	width: 100%;
	border: 0;
	border-radius: 3px;
	color: #048B9A;
	text-align: center;
	font-size: 1.5em;
}

button.submitButton {
	width: 100%;
	font-size: 1.5em;
	font-weight: bold;
	color: white;
	background: #048B9A;
	border: 1px solid white;
	border-radius: 3px;
	padding: 3px 6px;
}

.submitButton:hover {
	color: #048B9A;
	background: white;
}

.submitButton:before {
	display: inline-block;
	font-family: "Fontawesome";
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	outline: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	margin-right: 5px;
	content: "\f090";
}

.passwdLabel, button.submitButton {
	margin-top: 10px;
}

.menu {
	position: absolute;
	top: 0px;
	right: 0px;
	left: 0px;
	height: 30px;
	background: #048B9A;
	border-bottom: 1px solid white;
}

.menu .menuItem {
	height: 100%;
	margin-right: 5px;
}

.menu .menuItem:FIRST-CHILD {
	margin-left: 5px;
}

.download, .delete, .sort, .search, .logout {
	margin: 4px 0;
	width: 22px;
	line-height: 22px;
	text-align: center;
	border-radius: 50%;
}

.download, .delete, .sort, .logout {
	color: white;
}

.search {
	color: #048B9A;
	background: white;
}

.download, .delete, .sort, .logout {
	cursor: pointer;
}

.sort, .search {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border: 2px solid white;
	width: 18px;
	line-height: 18px;
}

.download:hover, .delete:hover, .sort:hover, .logout:hover {
	color: #048B9A;
	background: white;
}

.download:before {
	content: "\f019";
}

.delete:before {
	content: "\f00d";
}

.sort:before {
	content: "\f15d";
}

.search:before {
	content: "\f002";
}

.logout:before {
	content: "\f08b";
}

select.sortInput {
	font-size: 14px;
	margin: 2px 2px 2px 0;
	height: 22px;
	padding: 1px;
	border: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	color: #048B9A;
}

input.searchInput {
	font-size: 14px;
	margin: 2px 2px 2px 0;
	padding: 2px 5px;
	height: 18px;
	border: 0;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
	color: #048B9A;
}

.content {
	position: absolute;
	top: 31px;
	bottom: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}

.fileItem {
	position: relative;
	padding: 5px 10px;
}

.fileItem .icon {
	width: 15px;
	margin-right: 5px;
	text-align: center;
}

.directory, .file {
	color: #048B9A;
}

.directory:hover, .file:hover {
	color: white;
	background: #048B9A;
}

.hidden {
	opacity: 0.8;
}

.directory .fileItemIcon:before {
	content: "\f114";
}

.directory[open] .fileItemIcon:before {
	content: "\f115";
}

.file[type=OTHER] .fileItemIcon:before {
	content: "\f016";
}

.file[type=ARCHIVE] .fileItemIcon:before {
	content: "\f1c6";
}

.file[type=AUDIO] .fileItemIcon:before {
	content: "\f1c7";
}

.file[type=IMAGE] .fileItemIcon:before {
	content: "\f1c5";
}

.file[type=TEXT] .fileItemIcon:before {
	content: "\f0f6";
}

.file[type=VIDEO] .fileItemIcon:before {
	content: "\f1c8";
}

.fileItemCheckbox {
	display: inline-block;
	cursor: pointer;
}

.fileItemName {
	display: inline-block;
	width: 100%;
	cursor: pointer;
	word-break: break-all;
	font-size: 16px;
}

.directory .fileItemName {
	font-weight: bold;
}

.fileItemName:hover {
	text-decoration: underline;
}

.fileItemLength {
	display: inline-block;
	width: 80px;
	margin-left: 5px;
	word-wrap: break-word;
	float: right;
	font-size: 16px;
}

.fileItemLastModified {
	display: inline-block;
	text-align: right;
	width: 140px;
	word-wrap: break-word;
	float: right;
	font-size: 16px;
}

.checkbox:before {
	content: "\f096";
}

.checkbox:hover:before {
	content: "\f0c8";
}

.checkbox[checked]:before {
	content: "\f14a";
}

.fileItemContainer {
	display: none;
	padding-left: 10px;
}

.fileItemContainer[open] {
	display: block;
}

.icon.loading {
	text-align: center;
	width: 100%;
	margin: 5px 0;
	-webkit-animation: spin 2s infinite linear;
	-moz-animation: spin 2s infinite linear;
	-o-animation: spin 2s infinite linear;
	animation: spin 2s infinite linear;
}

.icon.loading:before {
	content: "\f021";
}

@-moz-keyframes spin {
	0% {
		-moz-transform: rotate(0deg);
	}
	100% {
		-moz-transform: rotate(359deg);
	}
}
@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
	}
}
@keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}